import gql from 'graphql-tag'

import type { UpdateTodosDataType, UpdateTodoDataType } from './types'

export function getTodos() {
  return {
    query: gql`
      query GetTodos {
        getTodos {
          _id
          title
          checked
        }
      }
    `,
    update: (data: UpdateTodosDataType) => data.getTodos
  }
}

export function getTodo(id: String) {
  return {
    query: gql`
      query GetTodo($getTodoId: GetTodoInput) {
        getTodo(id: $getTodoId) {
          _id
          title
          checked
        }
      }
    `,
    variables() {
      return {
        getTodoId: {
          _id: id
        }
      }
    },
    update: (data: UpdateTodoDataType) => data.getTodo
  }
}
